home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_03 / letters / gregor.c < prev    next >
Encoding:
Text File  |  1995-02-07  |  612 b   |  27 lines

  1. /* Gregorian Easter */
  2.  
  3. int geaster (int year)
  4. {
  5.   int A, B, C, D, E, F, G, H, I, K, L, M, Month, Day;
  6.  
  7.   if (year < 1583) return 0;
  8.   A = year % 19;
  9.   B = year / 100;
  10.   C = year % 100;
  11.   D = B / 4;
  12.   E = B % 4;
  13.   F = (B + 8) / 25
  14.   G = (B - F + 1) / 3;
  15.   H = (19 * A + B - D - G + 15) % 30;
  16.   I = C / 4;
  17.   K = C % 4;
  18.   L = (32 + 2 * E + 2 * I - H - K) % 7;
  19.   M = (A + 11 * H + 22 * L) / 451;
  20.   Month = (H + L - 7 * M + 114) / 31;
  21.   Day + (((H + L - 7 * M + 114) % 31) + 1);
  22.   return (Month + Day * 10);
  23. }
  24. /* unwrap using Month = result % 10 */
  25. /*                Day = result / 10 */ 
  26.  
  27.